[% setvar title The Perl 6 Summary for the week ending 20030202 %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='The Perl 6 Summary for the week ending 20030202'></a><h1>The Perl 6 Summary for the week ending 20030202</h1>
<p>Welcome to the second Perl 6 summary of the Copious Free Time era and
already I've broken the 'mailed out by Monday evening'
promise. There were reasons however, mostly to do with going down to
London to do the paperwork for my redundancy stuff. So, I'm emending
the promise to 'mailed out by logical Monday evening'.</p>
<p>Starting with perl6-internals (which was pretty quiet this week, only
76 messages compared to perl6-language which tipped the scales with
162)</p>
<a name='Parrot Objects (noun, not verb)'></a><h2>Parrot Objects (noun, not verb)</h2>
<p>Piers Cawley worried about class private attributes and asked it it
was still going to be possible to write an object serializing tool
that wouldn't require tons of Perl class overloads. Dan said that it
should still be possible.</p>
<p><a href='http://groups.google.com/groups?threadm=m265saajxu.fsf@TiBook.bofh.org.uk' target='_blank'>groups.google.com</a></p>
<a name='The packfile patches, an ongoing saga.'></a><h2>The packfile patches, an ongoing saga.</h2>
<p>Leo T&ouml;tsch spent the week working on the packfile format and
Parrot's tools for manipulating it. Various internals folks provided
feedback, pointers to standards and other handy feedback.</p>
<p><a href='http://groups.google.com/groups?threadm=3E3566AC.2070004@toetsch.at' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=3E364AE3.6050204@toetsch.at' target='_blank'>groups.google.com</a></p>
<p><a href='http://rt.perl.org/rt2/Ticket/Display.html?id=20584' target='_blank'>rt.perl.org</a></p>
<p><a href='http://rt.perl.org/rt2/Ticket/Display.html?id=20597' target='_blank'>rt.perl.org</a></p>
<a name='Securing Parrot ASM'></a><h2>Securing Parrot ASM</h2>
<p>Thomas Whateley has been thinking about how to allow Parrot to run
untrusted code in a sandbox, and proposed a system where code would
provide a list of required rights and Parrot would guarantee that only
those privileges were provided. Matthew Byng-Maddick pointed everyone
at the RFC he'd written along these lines and raised the issue of what
happens when you call out to a module that's written natively, which
he described a 'brick wall'. Others were less sure that this was a
showstopper.</p>
<p>Somewhat annoyingly my mailer seems to have had a bad moment and lost
some messages, including one from Dan in which he outlined his vision
for 'safe mode' and gave some pointers to the VMS docs in this area.</p>
<p><a href='http://groups.google.com/groups?threadm=20030128114114.A6158@luminous.whateley.net' target='_blank'>groups.google.com</a></p>
<p><a href='http://dev.perl.org/rfc/353.pod' target='_blank'>dev.perl.org</a></p>
<p><a href='http://groups.google.com/groups?threadm=a05200f2cba5c7b409182@' target='_blank'>groups.google.com</a>[192.168.2.1] -- Dan's outline</p>
<a name='Parrot Developer World Map'></a><h2>Parrot Developer World Map</h2>
<p>Leon Brocard announced the Parrot Developer World Map, which plots the
locations of all the Parrot developers who sent him their location
details on a map of the world. A cursory glance at the map would seem
to imply that a good place for a Parrot Developers' face to face
meeting would be a Caribbean island. Gregor neatly one upped Leon with
his interactive SVG version.</p>
<p><a href='http://www.astray.com/parrot/worldmap/' target='_blank'>www.astray.com</a></p>
<p><a href='http://www.focusresearch.com/gregor/map.html' target='_blank'>www.focusresearch.com</a></p>
<a name='Coroutine context patch'></a><h2>Coroutine context patch</h2>
<p>Jonathan Sillito found some problems with the coroutine code, so he
wrote a test exposing the errors, patched things to fix the errors and
added a documentation patch to be on the safe side. Go Jonathan. Steve
Fink applied the patches. Jonathan also had a question about naming,
and wondered if anyone would be interested in a howto for compiler
writers. Nobody commented on this, but the howto sounds like a great
idea to me.</p>
<p><a href='http://groups.google.com/groups?threadm=rt-20592-49853.5.33372735119841@bugs6.perl.org' target='_blank'>groups.google.com</a></p>
<a name='Multiple code segments and the interpreter'></a><h2>Multiple code segments and the interpreter</h2>
<p>Leo T&ouml;tsch noted some problems with <code>interpreter-&gt;code</code> and
multiple code segments, suggested a way forward and asked for
comments. Nicholas Clark commented, wondering about the potential for
memory leaks but Leo seemed to think that that was covered.</p>
<p><a href='http://groups.google.com/groups?threadm=3E37D321.80108@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Parrot run loop problems'></a><h2>Parrot run loop problems</h2>
<p>Leo has also been thinking about Parrot run loops and reckons we're
doing it wrong. So he proposed a different way of doing things,
working through its impact on the various kinds of Parrot core. Steve
Fink liked Leo's idea, but Jason Gloudon was less sure.</p>
<p><a href='http://groups.google.com/groups?threadm=3E38EB4E.1030506@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Meanwhile, in perl6-language'></a><h1>Meanwhile, in perl6-language</h1>
<a name='More Array Behaviours'></a><h2>More Array Behaviours</h2>
<p>Michael Lazzaro is working on documenting Perl Arrays and asked for
confirmations and clarifications on various areas of Array behaviour.
One subthread morphed into a discussion of when to use <code>is</code>
properties and when to use <code>but</code> properties. It turns out that the
'<code>is</code> is compile time, <code>but</code> is runtime' rule of thumb is only a
rule of thumb. Damian says that a better distinction is '<code>but</code> is a
property on a value, <code>is</code> is a property on a referent'. Variables,
arrays, opaque objects, hashes etc are referents and therefore get
<code>is</code> properties. Values are thing things that are held in variables,
arrays, opaque objects etc, and they get <code>but</code> properties.</p>
<p><a href='http://groups.google.com/groups?threadm=935680D1-3229-11D7-8A88-00050245244A@cognitivity.com' target='_blank'>groups.google.com</a></p>
<a name='Spare Brackets'></a><h2>Spare Brackets</h2>
<p>Martin wondered if it would be possible to use <code>[]</code> to do both hash
and array lookups. Short answer &quot;No&quot;. Which isn't to say the thread
didn't take off like a runaway train. After far too many messages we
reached the same 'No' conclusion that Damian had stated way back a the
start of the thread. The reasoning goes like this: Given <code>$container[$spec]</code> you can't use the type of <code>$container</code> to decide
whether to do a hash or an array lookup because there are Perl object
types which have both hash and array semantics. And you can't use
<code>$spec</code>'s type either because Perl happily autoconverts between
numbers and strings. So, you need some way to specify what sort of
lookup you need, and you do that by using <code>{}</code> or <code>[]</code> as
appropriate. But, frankly, that's beside the point. The reason we're
not using <code>[]</code> to do both array and hash style lookups is Because
Larry Says So.</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.33.0301281200060.7460-100000@mogwai.home' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=a05200f07ba5cb096f87c@' target='_blank'>groups.google.com</a>[63.120.19.221]</p>
<a name='Arrays: Default values'></a><h2>Arrays: Default values</h2>
<p>Argh! I've really been screwed by problems with my mail here. For some
reason a batch of mail appears to have got dropped on the floor this
week and my record of this thread is the one that's suffered the
most.</p>
<p>The gist of the thread is that adding a default value to an array
opens a whole scary can of worms to do with the distinction between
'undef' and 'exists' (made trickier still by the fact that 'exists' is
a pretty vague concept when you're dealing with an array.) Damian's
view is that an array with a default value should do the equivalent of</p>
<pre>   $content = @foo[$index] // @foo.default;</pre>
<p>ie, all undefs in the array should be 'replaced' with the array's
default value. And that includes any 'deliberate' undefs (where the
programmer does <code>@foo[$index] = undef</code>). As I understand it, doing
anything else leads to implementation pain. And it leads to even more
fun when your default is computed and the function doing the
computation gets passed the index as an argument. What happens when
someone does a shift?</p>
<p>For some reason this led into a discussion of whether hashes are
ordered (they're not, but if you leave a particular hash alone any
iterators (keys/values/each) will step through the hash in the same
order, repeatably, but that order is not predictable).</p>
<p><a href='http://groups.google.com/groups?threadm=3E36F2A1.80205@conway.org' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=5E1D636C-3482-11D7-8044-00050245244A@cognitivity.com' target='_blank'>groups.google.com</a> -- Current
'default' rules</p>
<a name='Damian Takes a Sabbatical'></a><h2>Damian Takes a Sabbatical</h2>
<p>Damian announced that, owing to time pressures, the need to find
paying work, the need to help Larry get the next Apocalypse out the
door and to get the associated Exegesis written he's unsubscribed from
the language list for the time being, though he expects that he'll
probably resubscribe once A6 and E6 are released. Folks wished him well.</p>
<p><a href='http://groups.google.com/groups?threadm=3E398D2E.4030500@conway.org' target='_blank'>groups.google.com</a></p>
<a name='In Brief'></a><h1>In Brief</h1>
<p>After asking for suggestions of a language to implement using parrot,
K Stol announced that he would be implementing a Lua-&gt;parrot compiler
as his final year project.</p>
<a name='Who's Who in Perl 6?'></a><h1>Who's Who in Perl 6?</h1>
<ul>
<li><a name='Who are you?'></a>Who are you?</li>
<p>Gopal V [gopalv82 at symonds dot net]</p>
<li><a name='What do you do for/with Perl 6?'></a>What do you do for/with Perl 6?</li>
<p>I'm more interested in Parrot rather than in Perl 6 , since it is the
only really free bytecode format out there. I am planning to build a
C# to Parrot compiler. I did a bunch of opcodes in this direction ,
but mostly what I do is lurk around in the mailing list &amp; IRC.</p>
<li><a name='Where are you coming from?'></a>Where are you coming from?</li>
<p>I'm from the DotGNU project and have been playing around in that code
for some time. I've still got my foot placed firmly there and am
peering over the hedge into parrot. I'm still in college, so I still
have to find time to study.</p>
<li><a name='When do you think Perl 6 will be released?'></a>When do you think Perl 6 will be released?</li>
<p>On a Saturday morning after announcing Tuesday afternoon in the
release plan.</p>
<li><a name='Why are you doing this?'></a>Why are you doing this?</li>
<p>It's great to be involved with a community project , it's a very
entertaining, stimulating and educating experience. In short, I'm in
this for the warm fuzzy feeling !.</p>
<li><a name='You have 5 words. Describe yourself.'></a>You have 5 words. Describe yourself.</li>
<p>compulsive hacker, caffeine addict, RSI_sufferer.</p>
<li><a name='Do you have anything to declare?'></a>Do you have anything to declare?</li>
<p>I promise, I'll try hard to get the C# compiler working with
parrot. (starts singing &quot;Some day, Some way...&quot; off key)</p>
</ul>
<a name='Announcements and Acknowledgements'></a><h1>Announcements and Acknowledgements</h1>
<p>This week's summary was once again prepared in a comfortable chair
with plenty of Earl Grey tea and distractions from two delightfully
ginger kittens and my embarrassing ability to screw up my Gnus
installation (now unscrewed).</p>
<p>Thanks to Gopal V for his answers to the questionnaire this week. If
you've been involved in the Perl 6 development process, please
consider answering the same set of questions and sending them to
<i><a href='http://search.cpan.org/perldoc?<a href='mailto:5Ws@bofh.org.uk'>5Ws@bofh.org.uk</a>'>5<a href='mailto:Ws@bofh.org.uk'>Ws@bofh.org.uk</a></a></i> and you'll earn my undying gratitude.</p>
<p>Proofreading was handled by the ever lovely Aspell.</p>
<p>If you appreciated this summary, please consider one or more of the
following options:</p>
<ul>
<li><a name='Send money to the Perl Foundation at donate.perl-foundation.org/ and help support the ongoing development of Perl.'></a>Send money to the Perl Foundation at
<a href='http://donate.perl-foundation.org/' target='_blank'>donate.perl-foundation.org</a> and help support the ongoing
development of Perl.</li>
<li><a name='Get involved in the Perl 6 process. The mailing lists are open to all. dev.perl.org/perl6/ and www.parrotcode.org/ are good starting points with links to the appropriate mailing lists.'></a>Get involved in the Perl 6 process. The mailing lists are open  to
all. <a href='http://dev.perl.org/perl6/' target='_blank'>dev.perl.org</a> and <a href='http://www.parrotcode.org/' target='_blank'>www.parrotcode.org</a>
are good starting points with links to the appropriate mailing lists.</li>
<li><a name='Send feedback, flames, money, job offers or a working teleportation device to p<a href='mailto:6summarizer@bofh.org.uk'>6summarizer@bofh.org.uk</a>'></a>Send feedback, flames, money, job offers or a working teleportation
device to <i><a href='http://search.cpan.org/perldoc?<a href='mailto:p6summarizer@bofh.org.uk'>p6summarizer@bofh.org.uk</a>'>p<a href='mailto:6summarizer@bofh.org.uk'>6summarizer@bofh.org.uk</a></a></i></li>
</ul>
<p>This week's summary was sponsored by Darren Duncan. Thanks Darren. If
you'd like to become a summary sponsor, drop me a line at
<i><a href='http://search.cpan.org/perldoc?<a href='mailto:p6summarizer@bofh.org.uk'>p6summarizer@bofh.org.uk</a>'>p<a href='mailto:6summarizer@bofh.org.uk'>6summarizer@bofh.org.uk</a></a></i>.</p>
</div>
